package com.dys.testfuncation05;

/**
 * @className: 函数式接口
 * @description: 函数式接口的由来
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/31 下午9:32
 */
@FunctionalInterface
public interface Operator {
    int getSum(int[] arr);
}

class Test {
    public static void fun1(Operator op) {
        int arr[] = {1, 2, 3, 4};
        int sum = op.getSum(arr);
        System.out.println("sum = " + sum);
    }

    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        fun1((opt) -> {
            int sum = 0;
            for (int i : opt) {
                sum += i;
            }
            return sum;
        });
    }
}